Microsoft FrontPage 2000 Server Extensions リソース キット
付録
FrontPage Remote Procedure Call プロトコル
FrontPage クライアントと FrontPage Server Extensions の間では、HTTP や HTML の最上部に挿入される RPC (Remote Procedure Call) プロトコルによる通信が可能です。FrontPage クライアントで Server Extensions の機能が必要な場合は、サーバーに POST 要求を送ります。
この POST 要求は、作成されている Web にある 3 つの DLL のいずれかに送られます。
- ブラウズ時アクションの要求は、Shtml.dll または Shtml.exe へ送られます。
- 作成時アクションの要求は Author.dll へ送られます。
- 管理アクションの要求は Admin.dll へ送られます。
POST 要求の本文には "method=command" という形式のコマンドが含まれます。"command" は FrontPage クライアントがサーバーに実行させる処理を表す文字列です。
この要求に対する Server Extensions の応答として、コマンドが実行されて "200 OK" が返されます。応答メッセージの本文には、コマンドによって返された、ネストされた名前と値の組み合わせの情報が含まれます。
メッセージの本文は、通常次のような形式になります。
<html>
<head></head>
<body>
<p>item1=value
<p>item2=value
<p>item3=<ul>
<li>item3.1=value
<li>item3.2=value
<ul>
<li>item3.3.1=value
<li>item3.3.2=value
</ul>
</body>
</html>
RPC プロトコルの動作の例として、以下にクライアントと Server Extensions の間の通信内容の一部を示します。このサンプルでは、FrontPage クライアントが Server Extensions を実行しているサーバーとの接続を確立し、サーバーで実行されている Server Extensions のバージョンを確認しています。
ここでは、わかりやすくするために 重要でない部分は削除しています。
GET /_vti_inf.html HTTP/1.0
Date: Fri, 17 Apr 1998 02:05:31 GMT
User-Agent: Mozilla/2.0 (compatible; MS FrontPage 3.0)
Host: fp4
このファイルがサーバーからの応答によって返されます。クライアントはこの応答を読み取り、"FPShtmlScriptUrl" に関連付けられている値を取得します。この値で表示時コマンドの実行に関する POST 要求の送り先を確認し、実行中の Server Extensions のバージョンを確認するための要求をサーバーに送ります。
POST /_vti_bin/shtml.dll/_vti_rpc HTTP/1.0
User-Agent: MSFrontPage/4.0
Content-Type: application/x-www-form-urlencoded
method=server version
Server Extensions によって "method=server version" の要求が処理され、バージョン情報が返されます。
HTTP/1.0 200 OK
Server: Microsoft-IIS/3.0
Date: Fri, 17 Apr 1998 02:04:43 GMT
Content-type: application/x-vermeer-rpc
<html><head><title>RPC packet</title></head>
<body>
<p>method=server version
<p>server version=
<ul>
<li>major ver=3
<li>minor ver=0
<li>phase ver=2
<li>ver incr=926
</ul>
</body>
</html>
|